Embodiments described herein relate generally to switch fabrics and more particularly, to upgrading switch fabrics such as Clos networks.
Clos networks are multi-stage switch networks that provide non-blocking connections between multiple input ports and multiple output ports. A non-blocking network is a network in which a data path through the network can always be established between an idle input port and an idle output port.
A three-stage Clos network, for example, has a middle stage connected between an input stage and an output stage. Each stage includes multiple modules. Each input stage module has multiple input ports (n) and is operatively coupled to each middle stage module. Similarly, each output stage module has n output ports and is connected to each middle stage module. A three-stage network is strictly non-blocking if at least 2n−1 middle stage modules are present. In a strictly non-blocking configuration, a data path between an idle input port and an idle output port can always be established without rearranging the existing connections (i.e., the existing connections do not need to be rerouted through the switch fabric). A three-stage network is rearrangeably non-blocking if at least n middle stage modules are present. In a rearrangeably non-blocking configuration, a data path between an idle input port and an idle output port can always be established by rearranging the existing connections.
To accommodate additional input stage modules and/or additional input ports on the input stage modules, additional stages can be added to the switch fabric. For example, a three-stage switch fabric can be upgraded to a five-stage switch fabric. To perform such an upgrade on known switch fabric systems, the switch fabric system is shut down and the upgrade is preformed. Accordingly, users cannot send data and receive data from the switch fabric during the upgrade.
Thus, a need exists for a distributed switch fabric that can expand to include additional inputs/outputs and/or stages without having to shut down during expansion.